package app

import (
	"github.com/gin-gonic/gin"
	"go-admin/global"
	"go-admin/pkg/convert"
)

// 获取当前页
func GetPageIndex(c *gin.Context) int {
	pageIndex := convert.StrTo(c.DefaultQuery("pageIndex", "0")).MustInt()
	if pageIndex <= 0 {
		return 1
	}
	return pageIndex
}

// 获取每页的条目数
func GetPageSize(c *gin.Context) int {
	pageSize := convert.StrTo(c.DefaultQuery("pageSize", "0")).MustInt()
	if pageSize <= 0 {
		return global.AppSetting.DefaultPageSize
	}
	if pageSize > global.AppSetting.MaxPageSize {
		return global.AppSetting.MaxPageSize
	}
	return pageSize
}

// 获取offset
func GetPageOffset(pageIndex, pageSize int) int {
	result := 0
	if pageIndex > 0 {
		result = (pageIndex - 1) * pageSize
	}
	return result
}